package com.kaifamiao.tree;

import java.util.TreeMap;

/**
 * Map的特点:
 * 	1、Map中存放的是 键值对(映射项)
 *  2、Map中的 key 不可重复，value 可以重复
 * TreeMap的特点
 *  1、TreeMap 内部采用 红黑树（Red-Black tree）存储 映射项(键值对)
 *  2、TreeMap 中存放的 映射项 是有顺序的(将映射项添加到TreeMap时就会比较就会排序)
 *  3、TreeMap 中的 key 不可以是 null ，value 可以为 null
 */
public class TreeMapTest1 {

	public static void main(String[] args) {
		
		// 创建一个根据键的自然顺序进行排序的TreeMap实例
		TreeMap<String,Integer> tm = new TreeMap<>();
		
		// String 实现了 Comparable 接口因此支持自然排序
		tm.put( "红烧肉" , 30 );
		tm.put( "盐煎肉" , 30 );
		tm.put( "回锅肉" , 30 );
		
		System.out.println( tm );
		
		// 创建一个根据键的自然顺序进行排序的TreeMap实例
		TreeMap<Product,Integer> map = new TreeMap<>();
		
		Product p1 = new Product( 1 , "老干妈" , 1200 , 90 , "瓶" );
		map.put( p1 , 10 );
		System.out.println( map );
		
		Product p2 = new Product( 1 , "老干妈" , 1200 , 90 , "瓶" );
		map.put( p2 , 20 );
		System.out.println( map );
		
		map.put( p2 , null );
		System.out.println( map );

	}

}
